package com.chenziwen.scala.chapter08

object Scala06_List {
  def main(args: Array[String]): Unit = {
    // 创建列表
    val list1 = List(7, 8, 9)
    println(list1)

    // 创建空列表
    val list2 = Nil
    println(list2)

    // 访问列表中的元素
    println(list1(1))


    // 因为Scala中创建的集合，默认是不可变集合，所以增加元素后，集合本身不变，但是会产生新的列表对象
    // 向列表(尾部)中增加元素=> :+ 表示在列表的最末尾增加数据
    val list3 = list1 :+ 1
    println(list3)

    // 向列表(头部)增加元素=> +: 表示在列表的最头部增加数据
    val list4 = 2 +: list1
    println(list4)

    // 所以只需要记住（:紧跟着列表对象，+紧跟着需要添加的元素对象）


    // 使用::运算符来创建集合
    // ::的作用=>创建集合，向集合中连续添加元素
    // 使用::运算符时，集合对象一定要放置在最右边，因为：运算规则是从右向左执行的
    val list5 = 1 :: 2 :: 3 :: list1 :: Nil
    println(list5)
    val list6 = 1 :: 2 :: 3 :: list1
    println(list6)

    // 使用:::运算符时将集合中的每一个元素加入到空集合中去
    val list7 = 1 :: 2 :: 3 :: list1 ::: Nil
    println(list7)

  }
}
